package entity

import (
	"group-card/common/request"
	"time"
)

//region TODO:集团客户  Author:LiuYanLin Date:2023/03/30 周四 16:34

type SysCustomer struct {
	Id            int64     `xorm:"not null pk autoincr comment('主键ID') BIGINT(20)" json:"id"`                      // id
	Name          string    `xorm:"not null default '' VARCHAR(255) comment('联系人')"          json:"name"`           // 联系人
	MobilePhone   string    `xorm:"not null default '' VARCHAR(255) comment('联系电话手机')"   json:"mobile_phone"`       // 联系电话手机
	LandlinePhone string    `xorm:"not null default '' VARCHAR(255) comment('联系电话座机')" json:"landline_phone"`       // 联系电话座机
	Area          string    `xorm:"not null default '' VARCHAR(255) comment('区域')"           json:"area"`           // 区域（省-市）
	Address       string    `xorm:"not null default '' VARCHAR(255) comment('联系地址')"        json:"address"`         // 联系地址
	Email         string    `xorm:"not null default '' VARCHAR(255) comment('电子邮箱')"          json:"email"`         // 电子邮箱
	BeginTimes    time.Time `xorm:"default null timestamp comment('合作起始时间')"    json:"begin_times"`                 // 合作起始时间
	EndTimes      time.Time `xorm:"default null timestamp comment('合作终止时间')"      json:"end_times"`                 // 合作终止时间
	Status        int64     `xorm:"not null default 10 BIGINT(20) comment('合作状态 10有效 20终止')"         json:"status"` // 合作状态 10有效 20终止
	CreateAt      time.Time `xorm:"not null created comment('创建时间')"   json:"create_at"`                            // 创建时间
	UpdateAt      time.Time `xorm:"not null updated comment('更新时间')"   json:"update_at"`                            // 更新时间
	DeleteAt      time.Time `xorm:"not null deleted comment('删除时间')"   json:"delete_at"`                            // 删除时间
	OrgId         int64     `xorm:"not null default 0 BIGINT(20) comment('组织ID')"          json:"org_id"`
	Org1          int64     `xorm:"not null default 0 BIGINT(20) comment('一级组织ID')"          json:"org1"`
	Org2          int64     `xorm:"not null default 0 BIGINT(20) comment('二级组织ID')"          json:"org2"`
	Org3          int64     `xorm:"not null default 0 BIGINT(20) comment('三级组织ID')"          json:"org3"`
	Org4          int64     `xorm:"not null default 0 BIGINT(20) comment('四级组织ID')"          json:"org4"`
	Org5          int64     `xorm:"not null default 0 BIGINT(20) comment('五级组织ID')"          json:"org5"`
}

func (*SysCustomer) TableName() string {
	return "sys_customer"
}

//endregion

type SysCustomerReq struct {
	Id              int64     `json:"id"`                                  // id
	Name            string    `json:"name"`                                // 联系人
	MobilePhone     string    `json:"mobile_phone"`                        // 联系电话手机
	LandlinePhone   string    `json:"landline_phone"`                      // 联系电话座机
	Area            string    `json:"area"`                                // 区域（省-市）
	Address         string    `json:"address"`                             // 联系地址
	Email           string    `json:"email"`                               // 电子邮箱
	BeginTimes      time.Time `json:"begin_times"`                         // 合作起始时间
	EndTimes        time.Time `json:"end_times"`                           // 合作终止时间
	Status          int64     `json:"status"`                              // 合作状态 10有效 20终止
	CreateAt        time.Time `xorm:"not null created"   json:"create_at"` // 创建时间
	UpdateAt        time.Time `xorm:"not null updated"   json:"update_at"` // 更新时间
	DeleteAt        time.Time `xorm:"not null deleted"   json:"delete_at"` // 删除时间
	request.BaseReq `xorm:"-" json:"-"`
}

type SysCustomerResp struct {
	Id            int64     `json:"id"`                                  // id
	Name          string    `json:"name"`                                // 联系人
	MobilePhone   string    `json:"mobile_phone"`                        // 联系电话手机
	LandlinePhone string    `json:"landline_phone"`                      // 联系电话座机
	Area          string    `json:"area"`                                // 区域（省-市）
	Address       string    `json:"address"`                             // 联系地址
	Email         string    `json:"email"`                               // 电子邮箱
	BeginTimes    time.Time `json:"begin_times"`                         // 合作起始时间
	EndTimes      time.Time `json:"end_times"`                           // 合作终止时间
	Status        int64     `json:"status"`                              // 合作状态 10有效 20终止
	CreateAt      time.Time `xorm:"not null created"   json:"create_at"` // 创建时间
	UpdateAt      time.Time `xorm:"not null updated"   json:"update_at"` // 更新时间
	DeleteAt      time.Time `xorm:"not null deleted"   json:"delete_at"` // 删除时间
}
